package com.zhiche.lisa.bms.service.driver;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zhiche.lisa.bms.dao.model.driver.PriceconfMile;
import com.zhiche.lisa.bms.pojo.vo.driver.PriceconfMileVO;
import com.zhiche.lisa.core.supports.BaseException;
import org.springframework.validation.BindingResult;

import java.util.Date;

/**
 * <p>
 * 线路计价里程 服务类
 * </p>
 *
 * @author zhaoguixin
 * @since 2018-08-30
 */
public interface IPriceconfMileService extends IService<PriceconfMile> {

	/**
	 * 分页查询线路计价里程
	 *
	 * @param page
	 * @return
	 */
	Page<PriceconfMileVO> listByPage(Page<PriceconfMileVO> page);

	/**
	 * 添加线路计价里程
	 *
	 * @param priceconfMileVO
	 * @param br
	 * @return
	 */
	Integer add(PriceconfMileVO priceconfMileVO, BindingResult br);

	/**
	 * 更新线路计价里程
	 *
	 * @param priceconfMileVO
	 * @param br
	 * @return
	 */
	Boolean update(PriceconfMileVO priceconfMileVO, BindingResult br);

	/**
	 * 删除线路计价里程
	 *
	 * @param id
	 * @return
	 * @throws BaseException
	 */
	Boolean del(Integer id) throws BaseException;

	/**
	 * 得到线路计价里程
	 *
	 * @param id
	 * @return
	 */
	PriceconfMileVO getById(Integer id);

	/**
	 * 根据线路取得最新的计价里程
	 *
	 * @param routeId
	 * @param effectiveDate
	 * @return
	 */
	PriceconfMile selectByEffectiveDateAndRouteId(Integer routeId, Date effectiveDate);


}
